home *** CD-ROM | disk | FTP | other *** search
/ Champak 132 (Alt) / Vol 132.iso / games / nameless.swf / scripts / DefineSprite_1631 / frame_1 / DoAction.as
Encoding:
Text File  |  2011-06-09  |  5.6 KB  |  249 lines

  1. if(!setVars)
  2. {
  3.    var moveSpeed = 3;
  4.    var addSpeed = 0.5;
  5.    var gravity = 0;
  6.    var maxGravity = 8;
  7.    var airSpeed = 0.5;
  8.    var active = false;
  9.    var xTar = 0;
  10.    xscale = _xscale;
  11.    var attacking = false;
  12.    var hitSound = new Sound();
  13.    var die = false;
  14.    hitSound.attachSound("punch5");
  15.    var removeNum = 100;
  16.    var melt = false;
  17.    var startX = _X;
  18.    var startY = _Y;
  19.    var setVars = true;
  20. }
  21. stop();
  22. var getFrame = function()
  23. {
  24.    if(die == true)
  25.    {
  26.       frame = "die";
  27.    }
  28.    else if(melt == true)
  29.    {
  30.       frame = "melt";
  31.    }
  32.    else if(running == false && attacking == false && falling == false)
  33.    {
  34.       frame = "stand";
  35.    }
  36.    else if(falling == true)
  37.    {
  38.       frame = "fall";
  39.    }
  40.    else if(running == true)
  41.    {
  42.       frame = "run";
  43.    }
  44.    else if(attacking == true)
  45.    {
  46.       frame = "attack";
  47.    }
  48.    gotoAndStop(frame);
  49. };
  50. var onEnterFrame = function()
  51. {
  52.    _root.checkVis(this);
  53.    if(_root.remake == true)
  54.    {
  55.       die = false;
  56.       melt = false;
  57.       removeNum = 100;
  58.       _X = startX;
  59.       _Y = startY;
  60.       active = false;
  61.       _visible = true;
  62.       _alpha = 100;
  63.    }
  64.    if(_root.pauseMode == false)
  65.    {
  66.       if(active == true)
  67.       {
  68.          if(die == false && melt == false)
  69.          {
  70.             if(_root.candy.hitTest(hit))
  71.             {
  72.                if(_root.candy.dir == "left")
  73.                {
  74.                   _root.candy.dir = "right";
  75.                }
  76.                else
  77.                {
  78.                   _root.candy.dir = "left";
  79.                }
  80.                hitSound.start();
  81.                die = true;
  82.             }
  83.             else if(_root.cm.g.hit.hitTest(hit))
  84.             {
  85.                hitSound.start();
  86.                die = true;
  87.             }
  88.             else if(_root.cm.g.sparkle.hitTest(hit))
  89.             {
  90.                melt = true;
  91.             }
  92.             if(attacking == false)
  93.             {
  94.                if(_root.cm._x > _X)
  95.                {
  96.                   _xscale = - xscale;
  97.                }
  98.                else if(_root.cm._x < _X)
  99.                {
  100.                   _xscale = xscale;
  101.                }
  102.             }
  103.             if(!bound.hitTest(_root.cm))
  104.             {
  105.                if(attacking == false)
  106.                {
  107.                   running = true;
  108.                   if(_root.cm._x > _X)
  109.                   {
  110.                      if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
  111.                      {
  112.                         xTar += addSpeed;
  113.                      }
  114.                   }
  115.                   else if(_root.cm._x < _X)
  116.                   {
  117.                      if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
  118.                      {
  119.                         xTar -= addSpeed;
  120.                      }
  121.                   }
  122.                }
  123.             }
  124.             else
  125.             {
  126.                running = false;
  127.                if(xTar > 0)
  128.                {
  129.                   xTar -= addSpeed;
  130.                }
  131.                else if(xTar < 0)
  132.                {
  133.                   xTar += addSpeed;
  134.                }
  135.                if(!mNum)
  136.                {
  137.                   var mNum = 1;
  138.                }
  139.                else
  140.                {
  141.                   mNum++;
  142.                }
  143.                num = random(50);
  144.                if((num == 1 or mNum == 30) && attacking == false && falling == false && running == false)
  145.                {
  146.                   mNum = 0;
  147.                   attacking = true;
  148.                }
  149.             }
  150.          }
  151.          else
  152.          {
  153.             if(removeNum < 0)
  154.             {
  155.                if(_alpha > 0)
  156.                {
  157.                   _alpha = _alpha - 1;
  158.                }
  159.                else
  160.                {
  161.                   _visible = false;
  162.                }
  163.             }
  164.             else
  165.             {
  166.                removeNum -= 1;
  167.             }
  168.             if(xTar > 0)
  169.             {
  170.                xTar -= addSpeed;
  171.             }
  172.             else if(xTar < 0)
  173.             {
  174.                xTar += addSpeed;
  175.             }
  176.          }
  177.          if(xTar > moveSpeed)
  178.          {
  179.             xTar = moveSpeed;
  180.          }
  181.          else if(xTar < - moveSpeed)
  182.          {
  183.             xTar = - moveSpeed;
  184.          }
  185.          if(_root.bound.hitTest(_X,_Y + 1,true))
  186.          {
  187.             falling = false;
  188.          }
  189.          else
  190.          {
  191.             falling = true;
  192.          }
  193.          if(falling == true)
  194.          {
  195.             grav = 0;
  196.             switched = false;
  197.             i = 0;
  198.             while(i < gravity)
  199.             {
  200.                if(switched == false)
  201.                {
  202.                   if(_root.bound.hitTest(_X,_Y + i,true))
  203.                   {
  204.                      switched = true;
  205.                   }
  206.                   else
  207.                   {
  208.                      grav = i;
  209.                   }
  210.                }
  211.                i++;
  212.             }
  213.             _Y = _Y + i;
  214.             if(gravity < maxGravity)
  215.             {
  216.                gravity += airSpeed;
  217.             }
  218.          }
  219.          else
  220.          {
  221.             gravity = 0;
  222.          }
  223.          while(_root.bound.hitTest(_X,_Y - 0.5,true))
  224.          {
  225.             _Y = _Y - 0.5;
  226.          }
  227.          _X = _X + xTar;
  228.          if((die == true or melt == true) && g._currentframe == g._totalframes)
  229.          {
  230.             g.stop();
  231.          }
  232.          else
  233.          {
  234.             g.play();
  235.          }
  236.       }
  237.       if(_root.cam.hitTest(this))
  238.       {
  239.          active = true;
  240.       }
  241.    }
  242.    else
  243.    {
  244.       stop();
  245.       g.stop();
  246.    }
  247.    getFrame();
  248. };
  249.